import request from 'src/axios'

/**
 * @description 分页查询定时任务
 * @param { Object } params 查询参数
 * @returns Promise
 */
export const pageJobInfo = (params: object) => {
  return request.get('/job/info/page', { params })
}

/**
 * @description 查看定时任务信息
 * @param { String } jobName 任务标识
 * @returns Promise
 */
export const viewJobInfo = (jobName: string) => {
  return request.get('/job/info', { params: { jobName } })
}

/**
 * @description 新增定时任务
 * @param { Object } data 新增数据
 * @returns Promise
 */
export const saveJobInfo = (data: object) => {
  return request.post('/job/info', data)
}

/**
 * @description 修改定时任务
 * @param { Object } data 修改数据
 * @returns Promise
 */
export const updateJobInfo = (data: object) => {
  return request.put('/job/info', data)
}

/**
 * @description 删除定时任务
 * @param { Array<string> } ids 主键数组
 * @returns Promise
 */
export const deleteJobInfo = (ids: Array<string>) => {
  return request.delete('/job/info', { data: ids })
}

/**
 * @description 执行定时任务
 * @param { Object } data 任务数据
 * @returns Promise
 */
export const triggerJobInfo = (data: object) => {
  return request.post('/job/info/trigger', data)
}

/**
 * @description 暂停定时任务
 * @param { String } id 主键
 * @returns Promise
 */
export const pauseJobInfo = (id: string) => {
  return request.post('/job/info/pause', { id })
}

/**
 * @description 恢复定时任务
 * @param { String } id 主键
 * @returns Promise
 */
export const resumeJobInfo = (id: string) => {
  return request.post('/job/info/resume', { id })
}
